home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / citra / CITButton.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  3.1 KB  |  108 lines

  1. //
  2. //                  CITButton include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2002.02.18
  7. //
  8.  
  9. #ifndef CIT_BUTTON_H
  10. #define CIT_BUTTON_H TRUE
  11.  
  12. #include <gadgets/button.h>
  13.  
  14. #ifndef CIT_GADGETS_H
  15. #include "CITGadget.h"
  16. #endif
  17.  
  18. //
  19. // This enum for internal use
  20. //
  21. enum
  22. {
  23.   CITBUTTON_RENDERIMAGE,
  24.   CITBUTTON_SELECTIMAGE,
  25.   CITBUTTON_AUTOBUTTON,
  26.   CITBUTTON_PUSHBUTTON,
  27.   CITBUTTON_TEXTPEN,
  28.   CITBUTTON_BACKGROUNDPEN,
  29.   CITBUTTON_FILLTEXTPEN,
  30.   CITBUTTON_FILLPEN,
  31.   CITBUTTON_BEVELSTYLE,
  32.   CITBUTTON_TRANSPARENT,
  33.   CITBUTTON_JUSTIFICATION,
  34.   CITBUTTON_SOFTSTYLE,
  35.   CITBUTTON_VARARGS,
  36.   CITBUTTON_DOMAINSTRING,
  37.   CITBUTTON_INTEGER,
  38.   CITBUTTON_BITMAP,
  39.   CITBUTTON_ANIMBUTTON,
  40.   CITBUTTON_ANIMIMAGES,
  41.   CITBUTTON_SELANIMIMAGES,
  42.   CITBUTTON_MAXANIMIMAGES,
  43.   CITBUTTON_ANIMIMAGENUMBER,
  44.   CITBUTTON_LAST
  45. };
  46.  
  47. class CITButton:public CITGadget
  48. {
  49.   public:
  50.     CITButton();
  51.     ~CITButton();
  52.  
  53.     void RenderImage(struct Image* im)
  54.       {setTag(CITBUTTON_RENDERIMAGE,BUTTON_RenderImage,ULONG(im));}
  55.     void SelectImage(struct Image* im)
  56.       {setTag(CITBUTTON_SELECTIMAGE,BUTTON_SelectImage,ULONG(im));}
  57.     void AutoButton(UWORD type)
  58.       {setTag(CITBUTTON_AUTOBUTTON,BUTTON_AutoButton,type);}
  59.     void PushButton(BOOL b = TRUE)
  60.       {setTag(CITBUTTON_PUSHBUTTON,BUTTON_PushButton,b);}
  61.     void TextPen(LONG pen)
  62.       {setTag(CITBUTTON_TEXTPEN,BUTTON_TextPen,pen);}
  63.     void BackgroundPen(LONG pen)
  64.       {setTag(CITBUTTON_BACKGROUNDPEN,BUTTON_BackgroundPen,pen);}
  65.     void FillTextPen(LONG pen)
  66.       {setTag(CITBUTTON_FILLTEXTPEN,BUTTON_FillTextPen,pen);}
  67.     void FillPen(LONG pen)
  68.       {setTag(CITBUTTON_FILLPEN,BUTTON_FillPen,pen);}
  69.     void BevelStyle(WORD style)
  70.       {setTag(CITBUTTON_BEVELSTYLE,BUTTON_BevelStyle,style);}
  71.     void Transparent(BOOL b)
  72.       {setTag(CITBUTTON_TRANSPARENT,BUTTON_Transparent,b);}
  73.     void Justification(WORD pos)
  74.       {setTag(CITBUTTON_JUSTIFICATION,BUTTON_Justification,pos);}
  75.     void SoftStyle(WORD style)
  76.       {setTag(CITBUTTON_SOFTSTYLE,BUTTON_SoftStyle,style);}
  77.     void VarArgs(APTR arg)
  78.       {setTag(CITBUTTON_VARARGS,BUTTON_VarArgs,ULONG(arg));}
  79.     void DomainString(char* t)
  80.       {setTag(CITBUTTON_DOMAINSTRING,BUTTON_DomainString,ULONG(t));}
  81.     void Integer(int val)
  82.       {setTag(CITBUTTON_INTEGER,BUTTON_Integer,val);}
  83.     void BitMap(struct BitMap* bm)
  84.       {setTag(CITBUTTON_BITMAP,BUTTON_BitMap,ULONG(bm));}
  85.     void AnimButton(BOOL b = TRUE)
  86.       {setTag(CITBUTTON_ANIMBUTTON,BUTTON_AnimButton,b);}
  87.     void AnimImages(struct Image* im)
  88.       {setTag(CITBUTTON_ANIMIMAGES,BUTTON_AnimImages,ULONG(im));}
  89.     void SelAnimImages(struct Image* im)
  90.       {setTag(CITBUTTON_SELANIMIMAGES,BUTTON_SelAnimImages,ULONG(im));}
  91.     void MaxAnimImages(LONG max)
  92.       {setTag(CITBUTTON_MAXANIMIMAGES,BUTTON_MaxAnimImages,max);}
  93.     void AnimImageNumber(LONG num)
  94.       {setTag(CITBUTTON_ANIMIMAGENUMBER,BUTTON_AnimImageNumber,num);}
  95.     void AddAnimImageNumber(ULONG num);
  96.     void SubAnimImageNumber(ULONG num);
  97.     
  98.   protected:
  99.     virtual Object* NewObjectA(TagItem* tags);
  100.     
  101.   private:
  102.     void setTag(int index,ULONG attr,ULONG val);
  103.   
  104.     TagItem* buttonTag;
  105. };
  106.  
  107. #endif
  108.